package com.zutassociation.system.mapper;


import com.zutassociation.system.domain.Message;

import java.util.List;

/**
 * 消息表 数据层
 *
 * @author 黄玉东
 * @version 1.0
 * @date 2021/2/25 17:20
 */
public interface MessageMapper {

    /**
     * 查询消息信息
     *
     * @param messageId 消息ID
     * @return 消息信息
     */
    public Message selectMessageById(Long messageId);

    /**
     * 查询发送人消息信息
     *
     * @param fromId 消息ID
     * @return 消息信息
     */
    public Message selectMessageByFromId(Long fromId);

    /**
     * 查询接收人消息信息
     *
     * @param toId 消息ID
     * @return 消息信息
     */
    public Message selectMessageByToId(Long toId);

    /**
     * 查询消息列表
     *
     * @param message 消息信息
     * @return 消息集合
     */
    public List<Message> selectMessageList(Message message);
    public List<Message> selectMessageListBD(Message message);

    /**
     * 新增消息
     *
     * @param message 消息信息
     * @return 结果
     */
    public int insertMessage(Message message);

    /**
     * 修改消息
     *
     * @param message 消息信息
     * @return 结果
     */
    public int updateMessage(Message message);

    /**
     * 修改消息
     *
     * @param message 消息信息
     * @return 结果
     */
    public int updateMessageRead(Message message);
    public int updateMessageStatus(Message message);

    /**
     * 批量删除消息
     *
     * @param messageId 消息ID
     * @return 结果
     */
    public int deleteMessageById(Long messageId);

    /**
     * 批量删除消息信息
     *
     * @param messageIds 需要删除的消息ID
     * @return 结果
     */
    public int deleteMessageByIds(Long[] messageIds);

    /**
     * 批量阅读消息
     *
     * @param messageIds 需要阅读的消息ID
     * @return 结果
     */
    public int deleteMessageByReadStatusIds0(Long[] messageIds);
    public int deleteMessageByReadStatusIds1(Long[] messageIds);
}
